cf848af4addf33f0aae9c86149fc0cfd1fee5c82,src/main/java/jenkins/branch/MultiBranchProject.java,SCMHeadObserverImpl,observe,#SCMHead#SCMRevision#,1580
Before Change
if (pollingResult.hasChanges()) {
listener.getLogger().format("Changes detected: %s%n", rawName);
needSave = true;
scheduleBuild(_factory, project, revision, listener, rawName, causeFactory.create(),
revisionActions);
} else {
listener.getLogger().format("No changes detected: %s%n", rawName);
}
After Change
revision
);
needSave = true;
if (isAutomaticBuild(source, head)) {
scheduleBuild(
_factory,
project,
revision,
listener,
rawName,
causeFactory.create(),
revisionActions
);
} else {
listener.getLogger().format("No automatic builds for %s%n", rawName);
}
} else if (revision.isDeterministic()) {
SCMRevision lastBuild = _factory.getRevision(project);
if (!revision.equals(lastBuild)) {
listener.getLogger().format("Changes detected: %s (%s → %s)%n", rawName, lastBuild, revision);
needSave = true;
if (isAutomaticBuild(source, head)) {
scheduleBuild(
_factory,
project,
revision,
listener,
rawName,
causeFactory.create(),
revisionActions
);
} else {
listener.getLogger().format("No automatic builds for %s%n", rawName);
}
} else {
listener.getLogger().format("No changes detected: %s (still at %s)%n", rawName, revision);
}
} else {
// fall back to polling when we have a non-deterministic revision/hash.
SCMTriggerItem scmProject = SCMTriggerItem.SCMTriggerItems.asSCMTriggerItem(project);
if (scmProject != null) {
PollingResult pollingResult = scmProject.poll(listener);
if (pollingResult.hasChanges()) {
listener.getLogger().format("Changes detected: %s%n", rawName);
needSave = true;
if (isAutomaticBuild(source, head)) {
scheduleBuild(
_factory,
project,
revision,
listener,
rawName,
causeFactory.create(),
revisionActions
);
} else {
listener.getLogger().format("No automatic builds for %s%n", rawName);
}